package com.education.welco.service;

import com.education.common.pojo.AjaxResult;
import com.education.welco.pojo.SysSourcePay;

import java.util.List;
import java.util.Map;

/**
 * (用户资源收藏支付) 服务层
 *
 * @author d
 * @date 2021-09-08
 */
//@Api("用户资源收藏支付 服务层")
public interface ISysSourcePayService {

    /**
     * 查询(用户资源收藏支付)信息
     *
     * @param cUserId (用户资源收藏支付)ID
     * @return (用户资源收藏支付)信息
     */
    //@GetMapping(value = "/selectSysSourcePayById", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "查询用户资源收藏支付信息")
    List<SysSourcePay> selectSysSourcePayById(Integer cUserId);

    /**
     * 查询(用户资源收藏支付)列表
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return (用户资源收藏支付)集合
     */
    //@PostMapping(value = "/selectSysSourcePayList", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "查询用户资源收藏支付列表")
    List<SysSourcePay> selectSysSourcePayList(SysSourcePay sysSourcePay);

    /**
     * 查询(用户资源收藏支付)列表
     *
     * @param map 根据开始时间和结束时间 类型
     * @return (用户资源收藏支付)集合
     */
    //@PostMapping(value = "/selectSysSourcePayListByTimeAndType", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "查询用户资源收藏支付列表")
    public List<Integer> selectSysSourcePayListByTimeAndType(Map<String, Object> map);

    /**
     * 新增(用户资源收藏支付)
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return 结果
     */
    //@PostMapping(value = "/insertSysSourcePay", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "新增用户资源收藏支付")
    int insertSysSourcePay(SysSourcePay sysSourcePay);

    /**
     * 修改(用户资源收藏支付)
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return 结果
     */
    //@PostMapping(value = "/updateSysSourcePay", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "修改用户资源收藏支付")
    int updateSysSourcePay(SysSourcePay sysSourcePay);

    /**
     * 修改用户资源收藏支付记录的收藏状态
     *
     * @param sysSourcePay 用户资源收藏支付信息
     * @return 结果
     */
    //@PostMapping(value = "/updateSysSourcePayCollectionStatus", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "修改用户资源收藏支付记录的收藏状态")
    int updateSysSourcePayCollectionStatus(SysSourcePay sysSourcePay);

    /**
     * 删除(用户资源收藏支付)信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    //@GetMapping(value = "/deleteSysSourcePayByIds", consumes = MediaType.APPLICATION_JSON_VALUE)
    //@ApiOperation(value = "删除用户资源收藏支付信息")
    int deleteSysSourcePayByIds(String ids);

    /**
     * 用户收藏列表
     *
     * @return 结果
     */
    //@PostMapping(value = "/getSysSourcePayByByUserId")
    //@ApiOperation(value = "获取用户收藏列表")
    List<SysSourcePay> getSysSourcePayByByUserId(SysSourcePay sysSourcePay);

    //@PostMapping(value = "/getUserSysSourcePayList")
    //@ApiOperation(value = "用户详情用户收藏列表")
    AjaxResult getUserSysSourcePayList(SysSourcePay sysSourcePay);

    //@PostMapping(value = "/getUserViewPre")
    //@ApiOperation(value = "获取学习进度")
    //String getUserViewPre(@RequestParam("cWatchKeyid")Integer cWatchKeyid);


    /**
     * pc 端查询我的收藏
     * @param cUserId 用户id主键
     * @param pageNum 第几页
     * @param pageSize 每页条数
     * @param catalogId 课程主键id  不同资源可能对应不同的目录级别的课程id
     * @param cResourceType 资源类型 1 课程 2 试题  3 资源  4 文章
     * @return
     */
    //@GetMapping("/selectMyCollection")
    //PageInfo<SysMyCollectionRESQ> selectMyCollection(@RequestParam(value = "cUserId", required = false) Integer cUserId,
    //                                                 @RequestParam(value = "cResourceType", required = false) Integer cResourceType,
    //                                                 @RequestParam(value = "pageNum", required = false) Integer pageNum,
    //                                                 @RequestParam(value = "pageSize", required = false) Integer pageSize,
    //                                                 @RequestParam(value = "catalogId", required = false) Integer catalogId,
    //                                                 @RequestParam(value = "title", required = false) String title);


    /**
     * app 我的收藏 资源
     */
    //@GetMapping(value = "selectMyCollectForRes")
    //List<SysMyCollectionRESQ> selectMyCollectForRes(@RequestParam(value = "isFree", required = false) Integer isFree,
    //                                 @RequestParam(value = "resType", required = false) Integer resType,
    //                                 @RequestParam(value = "userId", required = false) Integer userId,
    //                                 @RequestParam(value = "list", required = false) List<Integer> list);


    /**
     * app 我的收藏 题目
     */
    //@GetMapping(value = "selectMyCollectForQuestion")
    //AjaxResult selectMyCollectForQuestion(@RequestParam("userId") String userId,
    //                                      @RequestParam("catalogId") Integer catalogId);


    /**
     * app 我的收藏 动态 文章
     */
    //@GetMapping(value = "selectMyCollectForEssay")
    //List<SysRecommendCircleResq> selectMyCollectForEssay(@RequestParam("userId") Integer userId,
    //                                                     @RequestParam("type") Integer type);

}